The present disclosure relates to extending platform trust during program updates. More particularly, the present disclosure relates to utilizing a program modification module in conjunction with an integrity measurement module to optimize computer program loading performance within a computer system's trusted computing environment.
Computer systems execute computer programs that may utilize dependent data, such as libraries, during program execution. The computer system may also include a trusted computing environment that assures the integrity of the computer programs and their dependent data. The trusted computing environment may be managed by an integrity measurement module, which checks a computer program's integrity prior to executing the computer program.
In one embodiment, the dependent data (or links to the dependent data) may be integrated into the computer program when the program is compiled (static linking). In another embodiment, the dependent data may be integrated into the computer program (or links to the dependent data) when the computer program loads for execution (dynamic linking). In this embodiment, the computer program is temporarily modified during program execution with the dynamic linking information and, after the computer program finishes executing, the computer program reverts back to its original form to maintain the computer program's integrity within the trusted computing environment.